home *** CD-ROM | disk | FTP | other *** search
/ MIDICraft's MIDINET CD-ROM / MIDICraft's MIDINET CD-ROM.iso / DOSUTILS / MIDIVOL.DOC < prev    next >
Text File  |  1996-10-05  |  5KB  |  167 lines

  1.         ******************************
  2.             MIDIVOL v1.0
  3.     
  4.          adjust volume of midi files
  5.               by Guenter Nagler 
  6.                 1995 
  7.           (gnagler@ihm.tu-graz.ac.at)
  8.         ******************************
  9.  
  10. [0] FEATURES
  11.     + reads a binary midi file
  12.     + writes a binary midi file
  13.     + changes volume of midi files to a common level
  14.     + shows volume statistics of a midi file
  15.  
  16. [1] BACKGROUND
  17. Often midi files are very different in their main volume range so that
  18. it is necessary to regulate volume manually (using a volume slider).
  19. This raised the question if it is possible to set the volume of midi files
  20. to a level where it is not necessary to manually adjust the main volume.
  21.  
  22. This program was an experiment that should prove that this is possible,
  23. in spite of the fact that in midi internals the volume depends on 
  24. selected volume on channel and selected velocity on played note.
  25.  
  26. [2] FILES DESCRIPTION
  27.  
  28. MIDIVOL.EXE.........converter program for adjusting volume
  29. MIDIVOL.DOC.........this file, showing usage of MIDIVOL.EXE
  30. MIDIIO.HPP..........header file for a c++ midi parser
  31. MIDIIO.CPP..........source code for a c++ midi parser
  32. MIDIVOL.CPP.........c++ source code for modifying midi files
  33. MIDIVOL.MAK.........make file for project
  34. MIDIVOL.CFG.........compiler options for make
  35. MIDIVOL.PRJ.........compiler project for Borland (tm) c++ compilers
  36. only MIDIVOL.EXE is required to run program
  37.  
  38. [3] COPYRIGHT
  39.  
  40. MIDIVOL (c) 1995 was created by Guenter Nagler.
  41.  
  42. MIDIVOL is free and may be used as you wish with this one exception:
  43.  
  44.     You may NOT charge any fee or derive any profit for distribution
  45.     of MIDIVOL.  Thus, you may NOT sell or bundle MIDIVOL with any
  46.     product in a retail environment (shareware disk distribution, CD-ROM,
  47.     etc.) without permission of the author.
  48.  
  49. You may give MIDIVOL to your friends, upload it to a BBS, or ftp it to
  50. another internet site, as long as you don't charge anything for it.
  51.  
  52. [4] DISCLAIMER
  53.  
  54. MIDIVOL was designed to handle only 100% compatible midi files.
  55. Treat the program as an experiment and keep your originals until
  56. you are sure that the conversion results satisfy your desire.
  57. If you find a midi file that you think to be 100% compatible midi
  58. that is not correctly converted, please send a sample file to 
  59. gnagler@ihm.tu-graz.ac.at . 
  60.  
  61. Use MIDIVOL at your own risk.  Anything you do with MIDIVOL is your
  62. responsibility, and not the author's.  Any damage caused to any person,
  63. computer, software, hardware, company, or business by running MIDIVOL
  64. is your responsibility, and the author will not be liable.
  65.  
  66. If you don't understand these terms, or are not sure of something, or
  67. are afraid something bad might come of using MIDIVOL, don't  use  it!
  68. You are here forewarned.
  69.  
  70. [5] INSTALLATION
  71.  
  72. [MSDOS]
  73. Simply copy MIDIVOL.EXE in a directory that is in your path.
  74. When you start the program without arguments
  75.  
  76. [UNIX]
  77. compile sources with your C++ compiler (e.g. GNU Compiler g++):
  78.  
  79. g++ -o midivol midivol.cpp midiio.cpp
  80.  
  81. and run program
  82.  
  83. $ midivol
  84.  
  85. C:\> MIDIVOL
  86.  
  87. you should get the usage text (see next section)
  88.  
  89. [6] USAGE
  90.  
  91. midivol tries to change volume of midi files to a common level
  92. usage: midivol [-level #] file.mid newfile.mid
  93.  
  94. The parts in brackets [...] are optional.
  95.  
  96. The program MIDIVOL allows following option:
  97. -version    get program version
  98. -level #    level are between 1 and 16000 (default is 13000)
  99.  
  100. Warning:
  101. very low levels can only be reached by using general volume 1
  102. very high levels can only be reached by using general volume 127
  103. I recommend using level between 8000 and 15000.
  104.  
  105. [8] SUGGESTIONS / COMMENTS / BUG REPORTS / QUESTIONS
  106.  
  107.          WWW:    http://hgiicm.tu-graz.ac.at/Cpub
  108.           contains all my dos/unix midi programs
  109.          EMAIL:  gnagler@ihm.tu-graz.ac.at
  110.  
  111. [9] USE
  112. example: get the current program version
  113. command> midivol -version
  114. midivol v1.0 by Günter Nagler (Jun 08 1996)
  115.  
  116. example: get volume statistics about a midi file
  117. command> midivol file1.mid
  118. minimum level=0
  119. maximum level=13716
  120. average level=1674
  121. maximum volume=127
  122.  
  123.  
  124. example: adjust two files to a common volume level
  125. First get an overview about which levels are used by the midi files:
  126.  
  127. command> midivol file1.mid
  128. minimum level=0
  129. maximum level=13716
  130. average level=1674
  131. maximum volume=127
  132. command> midivol file2.mid
  133. minimum level=0
  134. maximum level=16129
  135. average level=7288
  136. maximum volume=127
  137.  
  138. So file2.mid is louder than file1.mid
  139. We take a middle between the maxima levels of the files:
  140.  
  141. file1.mid: maximum level=13716
  142. file2.mid: maximum level=16129
  143. The middle of these values is about 15000. We use this value as common level.
  144.  
  145. command> midivol -level 15000 file1.mid newfile1.mid
  146. command> midivol -level 15000 file2.mid newfile2.mid
  147.  
  148. The new files have following statistics:
  149.  
  150. command> midivol newfile1.mid
  151. minimum level=0
  152. maximum level=14986
  153. average level=1624
  154. maximum volume=127
  155. command> midivol newfile2.mid
  156. minimum level=0
  157. maximum level=14986
  158. average level=6764
  159. maximum volume=118
  160.  
  161. Try this procedure with some of your midi files and play the results and 
  162. compare their volume.
  163.  
  164.  
  165.  
  166.  
  167.